package com.example.binary;

public class DecimalToBinary {


    /**
     * @param decimal 要转换的十进制小数
     * @return 二进制字符串
     */
    public static String decimalToBinary(double decimal) {
        int integerPart = (int) decimal; // 获取整数部分
        // 将整数部分转换为二进制
        String binaryIntegerPart = Integer.toBinaryString(integerPart);
        double fractionalPart = decimal - integerPart; // 获取小数部分
        StringBuilder binaryFractionalPart = new StringBuilder();
        // 将小数部分转换为二进制
        while (fractionalPart > 0) {
            fractionalPart *= 2;
            int bit = (int) fractionalPart;
            binaryFractionalPart.append(bit);
            fractionalPart -= bit;
        }
        // 输出结果
        String result = "二进制数: " + binaryIntegerPart + "." + binaryFractionalPart;
        return result;

    }
}
